1. Field of the Invention
The present invention relates to an adaptive controller for robots, and particularly to an adaptive controller for robots able to automatically adjust load applied to the arm of each robot, the movement characteristic peculiar thereto and the servo constant to be changed with time.
2. Description of the Prior Art
For example, as an adaptive controller for robots, there can be mentioned a motor for carrying out PID (proportional integral and differential) servo control for driving joints of a multi-joint robot as shown in FIG. 1. In such a servo control mechanism, the real rotation angle .theta. of the motor is adjusted to a reference value .theta..sub.REF thereof.
However, to obtain a suitable PID constant (servo constant) which can realize a desired follow-up property to a reference orbit, a great deal of trial and error in operating the robot must be acquired. Moreover, even in robots constructed in the same mechnism, the movement characteristics are different from one another. Accordingly, it is difficult to guarantee a desired follow-up property in operating these robots by a fixed servo constant. Thus, it is necessary to separately adjust the servo constant for each robot. Therefore, a great deal of effort is required.
Since the movement characteristic changes with time, even in the same robot, it is also necessary to adjust the servo constant in this case. Moreover, adjustment of the servo constant is also required in changing load on an arm of the robot.
For adjusting the servo constant without trial and error, it is necessary to correctly know the movement characteristic of the robot. Generally, to know the movement characteristic of the robot, a known method for identification of the frequency response is employed. Conventionally, for identifying the frequency response, sine wave sweep excitation with a servo analyzer or the like has been used.
For example, to know the movement characteristic by the frequency response, a sine wave of l Hz is input to a robot. In the ordinary state, a signal output from the robot follows up the original input signal with fixed shifts of amplitude and phase. The movement characteristic can be known by investigating the shifts of amplitude and phase.
As shown in FIGS. 2a and 2b, the gain or amplitude in the low frequency region from 10.sup.-2 Hz to 10.degree. Hz is about 0 dB and the phase in the same frequency region is about 0.degree.. This means that a robot to be controlled follows up an input sine wave. However, at the frequency of 10.sup.1 Hz, the gain is about -10 dB and the phase is about -10.degree.. Moreover, in the frequency region higher than 10.sup.1 Hz, both of the gain and phase are reduced so that the follow-up property is impaired.
The sine wave sweep method, takes much time to plot amounts of shifts in the gain and phase every time the frequency of the sine wave is changed and inputted. In the case of a large-scale robot, since the frequency is inputted from the low frequency region, the procedure takes a significant amount of time.
When a high frequency is input to a robot for a long time, a great deal of mechanical load is applied to the robot.
Accordingly, in getting the frequency response, the sine wave sweep method is advantageous because the gain and phase can be obtained with certainly by inputting each predetermined frequency every time required. However, to know the movement characteristic of the robot by changing and inputting the frequency, much time would be required and a great deal of mechanical load would be applied to the robot.
As another method of knowing the frequency properties of the movement characteristic of robots, the method of least squares has been recently studied. In this method, a signal to be input is not a sine wave, but a signal including various frequencies, and the frequency response is identified by processing respective input and output data of a robot based on the method of least squares. Using this method, it takes relatively short time to process these data, and the mechanical load to the robot can be reduced.
In this method, it is not necessary to input the sine wave, but another type of signal. For example, an maximum-length sequence signal is input as shown in FIG. 3a. When such an maximum-length sequence signal as shown in FIG. 3a is inputted to a robot, a signal to be output therefrom includes various frequencies as shown in FIG. 3b. The output signal is processed based on the method of least squares.
In this method, each shaft of a robot is regarded as one input-output system expressed by a pulse transfer function G (z.sup.-1), and inertia change of an arm of the robot and interference between the shafts are regarded as disturbance.
Moreover, to each input or output data of each shaft of the robot sampled at a sampling cycle of .DELTA.T, an auto regressive moving average (ARMA) expressed by the following equation is set: ##EQU1## where .theta.(k) and u(k) respectively designate the rotation angular velocity of a motor and the torque command value to motor, and e(k) is the leavings. The motor rotation anglular velocity .theta.(k) is obtained by the following equation: EQU .theta.(k)=[.theta.(k)-.theta.(k-1)]/.DELTA.T (2)
By identifying a, b in accordance with the method of least squares based on the reference literature (Takayoshi, Nakamizo, Signal Analysis and System Identification, published by Corona Co., (1988)), the function G(z.sup.-1) is expressed as follows: EQU G(z.sup.-1)=A(z.sup.-1)/B(z.sup.-1)
Accordingly, the frequency response G(j.omega.) can be obtained by substituting exp(-j.omega..DELTA.T) for z.sup.-1 in the function G(z.sup.-1).
However, when the frequency response up to the high frequency region is required, it is necessary to shorten the sample cycle .DELTA.T of data, so that the frequency response in the low frequency region can not be obtained correctly because of the characteristic of the method of least squares. Hereinafter, this problem is explained in more detail with reference to drawings.
FIG. 3a shows the input signal, the horizontal axis designates time (Time [sec]) and the vertical axis designates torque (Torque [%]). FIG. 3b shows the output signal. The horizontal axis designates time and the vertical axis designates velocity (Velocity [rps]).
FIG. 4a shows gain (Gain [dB]) against the frequency (Frequency [Hz]) in the identified frequency response estimates. FIG. 4b shows phase (Phase [deg]) against the frequency.
In these drawings, the time required for identification is about two seconds (the number of data each of which is sampled in 1 [ms] is 1990). In this case, though the actual shaft has the resonance points of about 200 Hz, 100 Hz, 20 Hz, in FIGS. 4a and 4b, it is seen that the identification at about 10 Hz and 100 Hz is not well carried out. This case is estimated from the viewpoint of time response, the results are as shown in FIGS. 5a and 5b.
FIG. 5a shows a step response of the actual robot when a velocity I-P servo constant is given to construct a velocity control loop. In FIG. 5a, the horizontal axis shows time (Time [sec]) and the vertical axis shows velocity (Velocity [rsp]).
FIG. 5b shows a step response obtained by simulation in the same condition as mentioned above using FIGS. 4a and 4b. Namely, in the simulation of FIG. 5b, the same velocity I-P servo constant is given to FIGS. 4a and 4b to obtain a frequency response of a velocity closed loop, further an obtained frequency response is subjected to the inverse Fourier transformation. From a comparison of the step responses shown in FIGS. 5a and 5b, it is seen that the frequency in the low frequency region is not correctly shown in FIG. 5b.
In such a case, to obtain the frequency response in the low frequency region, various data must be collected by increasing the sampling cycle and operating a robot many times.
As still another case, an adaptive controller based on the on-line method using an adaptor 2 as shown in FIG. 6 has been recently designed. However, since the adaptor 2 carries out identification of the movement characteristic of a robot and calculation of the PID constant at the same time, the amount of real time calculation is extremely large, so that the servo control cycle is increased and the follow-up property is greatly impaired.
Moreover, the algorithm for the adaptor 2 is not completed yet, thus when noise is included in the input and output signals of a robot, the adaptor 2 may get out of order.
As stated above, the conventional adaptability controller for robots requires much trouble adjusting the servo constant, and has defects in the method of identifying the frequency response for backing the adjustment of the servo constant, further the method of adaptability control based on the on-line system has problems in the practical use.